package top.dark.common.exception;

/***
 * 错误码和错误信息定义类
 * 1. 错误码定义规则为 5 为数字
 * 2. 前两位表示业务场景，最后三位表示错误码。例如：100001。10:通用 000:系统未知异常
 * 3. 维护错误码后需要维护错误描述，将他们定义为枚举形式
 * 错误码列表：
 * 10: 通用
 *  001：参数格式校验
 *  002: 短信验证频率太高，请稍后再试
 *  003: 短信验证码下发失败，请稍后再试
 *  004：远程调用超时异常
 * 11: 商品
 * 12: 订单
 * 13: 购物车
 * 14: 物流
 * 15: 用户
 *  002: 登录用户名或密码错误
 */
public enum BizCodeEnum {
    UNKNOW_EXCEPTION(10000, "系统未知异常"),
    VALID_EXCEPTION(10001, "参数格式校验失败"),
    SMS_CODE_EXCEPTION(10002, "短信验证频率太高，请稍后再试"),
    SMS_FAIL_EXCEPTION(10003, "短信验证码下发失败，请稍后再试"),
    REMOTE_CALL_EXCEPTION(10004,"远程调用异常"),
    USER_EXIST_EXCEPTION(15000, "用户名已存在"),
    MSISDN_EXIT_EXCEPTION(15001, "手机号已存在"),
    LOGIN_PASS_ERROR_EXCEPTION(15002, "登录用户名或密码错误"),
    ;

    private Integer code;
    private String msg;

    BizCodeEnum(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public Integer getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }
}
